#ifndef QMETRONOME_H
#define QMETRONOME_H

#include <windows.h>
#include <QObject>

#include <fmod.h>
#include <fmod.hpp>
#include <fmod_errors.h>

#include <time.h>

#include "qthread.h"

class QMetronome : public QThread
{
	Q_OBJECT
public:
	QMetronome(FMOD::System *);
	QMetronome(FMOD::System *,int bpm,int m1, int m2);
	~QMetronome(void);
	void run();
	void setMesure1(int);
	void setMesure2(int);
	void setTempo(int);
	FMOD::Channel *getChannel();
private:
	int tempo;
	int mesure1;
	int mesure2;
	FMOD::DSP       *dsp;
	FMOD::System	*system;
	FMOD::Channel	*channel;
	FMOD_RESULT      result;

	double tstart, tstop, ttime;

	double getTimeDuration();
	
};

#endif // QMETRONOME_H
